package cn.tedu.lucky.draw.user.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

import java.util.Arrays;
import java.util.List;

@RestController
public class TestController {

    /**
     *      -Mono：表示一个潜在的一步计算结果，他可能返回一个结果，或者不返回。
     *      -Flux：表示一个包含0到N个元素的相反应式序列
     */

    @GetMapping
    public Mono<String> test(){
        return Mono.just("Hello,World!");
    }

    @GetMapping("/test-justOrEmpty")
    public Flux<String> fluxJust(){
        return Flux.just("helle","world");
    }

    @GetMapping("/test-fluxFromIterable")
    public Flux<String> fluxFromIterable() {
        List<String> list = Arrays.asList("hello", "world");
        return Flux.fromIterable(list);
    }

    @GetMapping("/test-empty")
    public Flux<String> empty() {
        return Flux.empty();
    }
}
